We will add moving parts to the model: a propeller, the gears with the
well doors, the ailerons, the elevators and the rudder. Actually, adding a flight
control surface is a common process whatever the surface you are dealing with. A thorough
explanation for each of them could be pretty boring! I will give you a complete explanation
for the aileron and then I suggest that you have a look at the "MyRFO.3DM" file which is
in this tutorial directory for the other ones. In that way, it won't be that bad!
The propeller
The propeller will be composed of:
The shaft:
We are going to build the prop shaft as a cylinder.
Select the PROPSHFT sub-assy. Select the front view and set the
current plane to y = 6.500. Create a shape of the hexagon kind the center of which is located at:
0.000 6.5000 0.000
Give it a radius of 0.400 ft. Validate by clicking on the draw button.
Activate the Draw/Build cylinder menu option. Set the coordinates of the vector to:
0.000 2.5000 0.000
Select the PROPSHFT sub-assy in the destination sub-assy list-box and validate.
This is the first part of the shaft. Select the Desk sub-assy. The selected polygon
should be the hexagon that was created to support the front part of the cylinder. It is
contained in a plane parallel to xOz with a y=9.000 coordinate. We will complete the shaft
with a small cone. Activate the Activate the Draw/Build cone menu option. Set the
coordinates of the vector to:
0.000 0.2500 0.000
Select the PROPSHFT sub-assy in the destination sub-assy list-box and validate.
In the sub-assy panel, assign the color attribute to the PROPSHFT sub-assy. Open the
sub-assy code page to make it black. This is it for the shaft.
The high speed prop:
We will now create the transparent disk that figures the prop at high speed.
Check that you are in the front view and that the current plane "y" coordinate is
set to 8.000 ft. Select the PROPDISK sub-assy. Activate the
Draw/Shape.../Circle.../16 points menu option. Enter the coordinates of the
center:
0.000 8.000 0.000
and the radius of the circle:
radius = 3.000
Validate. May I ask you to define the selected disk as a texture support (CTRL + F3) ?
You will understand why in a few moments.
The prop disk must be seen from the aft as well. Activate the Draw/Copy and flip menu option
to build other side. We have now two circles... which are hidden. We need triangles... Activate the
Sub-Assy/Select all sub-assy chains menu option. Activate then the Selection/Make triangles
with selection menu option. Exit the multiple selection mode and reset the multiple selection buffer.
Assign the "Pilot" texture to the PROPDISK sub-assy and open its sub-assy code page. Double-click on
the LIMITS instruction. Select the front option and load the default
texture support: you just declared the disk as a texture support, didn't you ?
Assign the limits:
left/top = 128, 1
right/bottom = 255,127
Validate and exit the texture support panel. Look at the bottom of the sub-assy code page. There is a shadow thing:
Click on the down arrow to set it to no shadow: we do not want to see the shadow of a plain disk on the ground
when the prop is rotating, do we ? Quit the sub-assy code page.
The propeller blades:
Let's deal with the propeller blades now. In the Graphic Editor front view,
set the current plane "y" coordinate to 8.000. Activate the
chain creation mode and create a polygon with the following vertices:
0.000 8.000 0.000
0.400 8.000 0.800
0.400 8.000 2.600
0.000 8.000 3.000
-0.400 8.000 2.600
-0.400 8.000 0.800
Check that the PROPBLAD sub-assy is selected and validate. This is the front shape of
the blade. Activate the Draw/Rotate chain menu option. Check that the current
axis of rotation is Oy and set the coordinates of the center of rotation to:
x = 0.000 z = 0.000
Enter 120.0 in the rotation angle data field and validate by clicking on the
dupl.+rot. button. This is the front shape of the second blade. Do it
again to create the front shape of the third blade.
We are finished with the front view of the prop, we need now to create the rear
view of it. Activate the Sub-Assy/Select all sub-assy chains menu option and then the
Selection/Copy and flip menu option. We've got 6 polygons... but all of them are hidden !
Make triangles with any of them would be boring. AD2K2 will do it for you.
Activate again the Sub-Assy/Select all sub-assy chains menu option.
Activate now the Selection/Make triangles with selection menu option.
Exit the multiple selection mode (depress the multiple selection
button of the tool bar) and reset the multiple selection buffer
button of the tool bar).
In the sub-assy panel, assign the "Pilot" texture to the PROPBLAD sub-assy. Open the
sub-assy code page to assign the texture support and the texture limits: they are exactly the same as
for the PROPDISK sub-assy.
Animating the prop:
Animating the prop is not that difficult. We want the whole thing to rotate but we would like to see the blades at low speed and the transparent disk at high speed.
rotate prop | PROPSHFT | |
at low speed | PROPBLAD | |
at high speed | PROPDISK |
To achieve that animation, we will take advantage of the Model Tree Editor animation features:
Tip: To get more information on the Model Tree Editor nodes, have a look at the Model Tree Editor reference guide. |
The prop rolling node performs a rotative animation around an axis parallel to the Oy axis. The location
of the prop axis with respect to the Oy axis is to be defined by a vector. In our case, the prop axis is the Oy axis itself:
therefore the vector is the null vector. Activate the Utilities/Make a vector (or press CTRL + F4) menu option and enter
directly the following coordinates:
0.000 0.000 0.000
Validate. Click on the button to launch the Model Tree Editor.
At the moment, the model tree is as following:
![]() | sub-assy | DICE |
sub-assy | CANOPY | |
sub-assy | PILOT | |
sub-assy | RWING | |
sub-assy | LWING | |
light | landing |
Select the root node and add a rolling node. Select then the rolling node and click on the
properties button to set the node attributes:
Validate. The model tree is now the following:
![]() | sub-assy | DICE | ||
sub-assy | CANOPY | |||
sub-assy | PILOT | |||
sub-assy | RWING | |||
sub-assy | LWING | |||
landing light | ||||
rotate prop | PROPSHFT | |||
test prop | low speed node | PROPBLAD | ||
high speed node | PROPDISK |
I have outlined the nodes that have been added. What's the meaning of that stuff ?
The gears
Let us start with the right gear. The right gear will be composed of:
The gear strut:
Select the RGSTRUT sub-assy.
Tip: Why don't we try that glaring effect on the strut and the damper ? |
action | option/button | data | remarks
shape
| Draw/Shape../hexagon
| top plane
| center: 10.500, 1.500, 0.800 radius: 0.400 T button (top) basis of the strut
| build cylinder
| Draw/Build cylinder
| vector option
| 0.000, 0.000, -2.200 ext button RGSTRUT sub-assy strut
| validate by clicking on the build button move chain
| select the desk sub-assy
| Sub Assy/Move to sub-assy RGSTRUT sub-assy
| validate to move the chain into
| the RGSTRUT sub-assy make triangles
| Draw/Make triangles
|
| make triangles
| color attribute
| ![]() ![]() assign a grey color
| basic color of the strut
| glare effect
| check the glare check box
| assign a light grey color by
| double-clicking on the second square (this one on the right) reflected color
| Quit the sub-assy code page to validate |
The gear damper:
Select the RGDAMP sub-assy.
action | option/button | data | remarks
shape
| Draw/Shape../hexagon
| top plane
| center: 10.500, 1.500, -1.300 radius: 0.330 T button (top) basis of the damper
| build cylinder
| Draw/Build cylinder
| vector option
| 0.000, 0.000, -2.500 ext button RGDAMP sub-assy damper
| validate by clicking on the build button move chain
| select the desk sub-assy
| Sub Assy/Move to sub-assy RGDAMP sub-assy
| validate to move the chain into
| the RGDAMP sub-assy make triangles
| Draw/Make triangles
|
| make triangles
| color attribute
| ![]() ![]() assign a grey color
| basic color of the damper
| glare effect
| check the glare check box
| assign a light grey color by
| double-clicking on the second square (this one on the right) reflected color
| Quit the sub-assy code page to validate |
The wheel:
Select the RWHEEL sub-assy.
action | option/button | data | remarks
shape
| Draw/Shape../circle (16)
| side plane
| center: 10.140, 1.500, -3.650 radius: 2.000 R button (right) right flank of the wheel
| build cylinder
| Draw/Build cylinder
| vector option
| -0.600, 0.000, 0.000 ext button RWHEEL sub-assy wheel
| validate by clicking on the build button move chain
| select the desk sub-assy
| Sub Assy/Move to sub-assy RWHEEL sub-assy
| validate to move the chain into
| the RWHEEL sub-assy make triangles
| Draw/Make triangles
|
| make triangles
| select right flank
| click on the C button as many times
| as needed to select the right flank one time should be enough)
| select right flank
| make triangles
| Utilities/Define chain as support
|
| define chain as support
| make triangles
| Draw/Make triangles
|
| make triangles
| define texture
| ![]() ![]() double-click on the LIMITS instruction
|
| texture support
| ![]() ymin, ymax : -0.500, 3.500
| zmin, zmax : -5.650, -1.650 side option load current texture support
| texture limits
| limits
| right view
| left/top: 1, 128 right/bottom: 127, 255 assign texture limits
| Quit the sub-assy code page to validate |
The door:
Select the RDOOR sub-assy.
action | option/button | data | remarks
new chain
| side view, | ![]() vertices:
| 11.000, 2.200, 0.480 11.000, 2.850, -2.500 11.000, 0.100, -2.500 11.000, 0.900, 0.480 click on poly to validate
| copy and flip
| Draw/Copy and flip
|
| copy and flip
| select all chains
| Sub Assy/Select all chains
|
| select both chains
| make triangles
| Selection/Make triangles
|
| make triangles out of both chains
| quit and reset selection
| ![]() ![]()
|
| color attribute
| ![]() ![]() assign a light grey color
| light grey color, no glare
| Quit the sub-assy code page to validate |
The gear animation:
The whole animation of the gear (gear deployment/retraction, damping effect, door aperture/closure) will be achieved through three animation nodes and a single rolling node.
animate door
RDOOR block | RDOOR sub-assy | ||
animate gear
RGEAR block | RGSTRUT sub-assy | ||
animate damper
RDAMPR block | RGDAMP sub-assy | ||
rotate wheel | RWHEEL sub-assy |
Using three times the same node is a little bit confusing at the beginning, but I am sure you will get accustomed soon because you are gifted... It is not because you use the same node that it performs the same thing. An animation node is associated with a rotation block or a translation block. It is the associated block which defines the kind of animation to be performed. We will define three different blocks for these three nodes.
Tip: To get more information on the animation nodes, have a look at the Model Tree Editor reference guide. |
Let us have a closer look at this animation node. A single key is controlling the three following actions :
It is convenient to assign the
key=0 to key=50 interval to the door aperture/closure and to assign the key=50 to key=100 interval to the gear deployment/retraction.Therefore, to achieve the animation, you need to create two animation blocks and one translation block. Let us call them RGEAR, RDOOR and DAMPR.
key | 0..50 | 50..100 | 100..200 | ||
part | block name | ||||
alpha | door | RDOOR | 90..0 aperture | 0..0 no further rotation | |
gear | RGEAR | 90..90 no motion | 90..0 deployment | 0..0 no motion | |
damper | DAMPR | 0..0 no motion | 0..max damping effect |
Let us summarize:
![]() | sub-assy | DICE | ||
sub-assy | CANOPY | |||
sub-assy | PILOT | |||
sub-assy | RWING | |||
sub-assy | LWING | |||
landing light | ||||
rotate prop | PROPSHFT | |||
test prop | low speed node | PROPBLAD | ||
high speed node | PROPDISK | |||
animate door
RDOOR block | RDOOR | |||
animate gear
RGEAR block | RGSTRUT | |||
animate damper
RDAMPR block | RGDAMP | |||
rolling wheel | RWHEEL |
RGEAR : rotation block
RGEAR curve
key
| 0
| 50
| 100
| 200
| alpha
| 84
| 84
| 0
| 0
| |
RDOOR : rotation block
RDOOR curve
key
| 0
| 50
| 200
| alpha
| 85
| 0
| 0
| |
DAMPR : translation block
NODAMP curve | ZDAMP curve
key
| 0
| 200
| key
| 0
| 100
| 200
| alpha
| 0
| 0
| alpha
| 0
| 0
| 1
| |
You also need to create two hinges and one vector. Quit the Model Tree Editor and select the desk sub-assy.
action | option/button | data | remarks
new chain
| side view, | ![]() vertices:
| 10.500, 0.700, 0.800 10.500, 2.500, 0.800 10.500, 1.500, -0.700 click on poly to validate
| define hinge
| Utilities/Define a hinge
| 1st point : 10.500, 0.700, 0.800
| 2nd point : 10.500, 2.500, 0.800 click on the selected points and
| validate by clicking on the OK button hinge for RGEAR new chain
| side view, | ![]() vertices:
| 11.000, 0.700, 0.480 11.000, 2.500, 0.480 11.000, 1.600, -1.000 click on poly to validate
| define hinge
| Utilities/Define a hinge
| 1st point : 11.000, 0.700, 0.480
| 2nd point : 11.000, 2.500, 0.480 click on the selected points and
| validate by clicking on the OK button hinge for RDOOR define vector
| Utilities/Make a vector
| directly option
0.000, 1.500, -3.650
| make a vector for ROTATE WHEEL
| |
Go back to the MOdel Tree Editor and complete the nodes with their hinges and the vector (the icon of the uncomplete
nodes are colored with a pink color). This is it for the gear animation. You just have to test it now.
Tip: You have inserted an animation node and it does nothing ? Make sure you have properly set the aircraft.cfg file of your model.. |
The aileron
Installing the right aileron is quite easy. We will use a right aileron moving node to animate it. Before we
do that, we need to design the aileron 3D model.
Look at the right wing. The wing trailing edge is not parallel to the xOy plane. To build the aileron, we will use the intersection builder of the chain editor. Let us build a vertical triangle in the desk. Quit the Model Tree Editor and select the desk sub-assy. Make sure you are in the side view and set the x coordinate of the plane to 10.000.
action | option/button | data | remarks
new chain
| side view, | ![]() vertices:
| 10.000, -7.900, 6.000 10.000, 10.000, -2.500 10.000, -5.800, -9.700 click on poly to validate
| the exact position of the vertices does not matter, click wherever you want to build the triangle, as long as it is in the x=10.000 plane create sub-assy
| Sub Assy/New sub-assy
| RAILERON
| right aileron sub-assy create a new sub-assy
| new chain
| top view, | ![]() 1st vertex: click wherever you
| want to create a vertex 2nd vertex: in the align mode, (CTRL+click) capture the point located at two vertices
| intersection
| inter.
| select the plane you have just
| created in the desk sub-assy 1st point: 3.500, -4.500, 0.210 2nd point: 20.000, -2.500, 1.140 click on OK at each step
| then click on OK to validate the intersection last vertex
| -
|
| click on add to validate
| eliminate vertex
| -
| select first vertex
| and click on delete eliminate junk vertex
| click on poly to validate copy and flip
| Draw/Copy and flip
| -
| copy and flip
| select all chains
| Sub Assy/
| Select all chains -
| select both chains
| make triangles
| Selection/
| Make triangles -
| make triangles
| quit and reset selection
| ![]() ![]()
|
| color attribute
| ![]() ![]() assign a blue color
| blue color
| Quit the sub-assy code page to validate |
The right aileron node requires a hinge to work properly. This hinge will be built by using two vertices of the RAILERON sub-assy itself.
action | option/button | data | remarks
define hinge
| Utilities/Define a hinge
| 1st point : 10.000, -3.712, 0.576
| 2nd point : 20.000, -2.500, 1.140 click on the selected points and
| validate by clicking on the OK button |
Launch the Model Tree Editor to complete the job. Select the root node
and add a moving node to it. Select the newly created moving node and click on the properties button to set the moving node
attributes in the the moving attribute window:
![]() | sub-assy | DICE | ||
sub-assy | CANOPY | |||
sub-assy | PILOT | |||
sub-assy | RWING | |||
sub-assy | LWING | |||
landing light | ||||
rotate prop | PROPSHFT | |||
test prop | low speed node | PROPBLAD | ||
high speed node | PROPDISK | |||
animate door
RDOOR block | RDOOR | |||
animate gear
RGEAR block | RGSTRUT | |||
animate damper
RDAMPR block | RGDAMP | |||
rolling wheel | RWHEEL | |||
moving right aileron | RAILERON |
It's time to compile and have a look at the result.
As you can imagine, adding the left aileron, the rudder and the stabilizers
requires the same kind of operations. Guiding you step by step into the detailed
design of these moving surfaces would be a boring stuff for both of us. I suggest
you that we skip this phase. You can find in the directory of this tutorial the
"MyRFO.3DM" file of the complete model. If you want any more details, do not
hesitate to have a look at it.
The antenna
Let us add an antenna, just for the fun. Save and close the MyRFO project and open the Tail assembly file.
Select the Lines sub-assy and click on the new chain button.
Enter the two following vertices :
0.000, -19.000, 7.800
0.000, -6.500, 3.500
Validate by clicking on the line button.
Open the Model Tree Editor and select the root node (or click on the add to root button).
Add a wire node to it. Select this wire node and click on the properties button to open the wire attribute window.
Select a color (why not a red one ?) and click on the small blue button to load the
line we have just created. Validate. Compile the assembly, save it and load again the myRFO file to compile it with the updated
assembly.
Hey, guys, you know what?
...
This is it!
That's not exactly what you would call a beautiful aircraft. It would not rank in the top ten in a beauty contest... but
you did it ! You've got your AD2K2 designer graduation.
Congratulation!
Anyway, that red antenna is pretty nice, isn't it ?